package com.neusoft.neuiotms.dcom.service;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.neusoft.bizcore.auth.common.bean.UserBean;
import com.neusoft.bizcore.web.support.Searchable;
import com.neusoft.neuiotms.dcom.dto.InstitutionsDTO;
import com.neusoft.neuiotms.dcom.dto.TransferWeeklyDTO;

public interface TransferWeeklyService {

    List<TransferWeeklyDTO> index(Searchable searchable, final UserBean userBean);

    Page<TransferWeeklyDTO> search(Pageable pageable, Searchable searchable, final UserBean userBean);

    TransferWeeklyDTO create(TransferWeeklyDTO dto);

    TransferWeeklyDTO update(Long id, TransferWeeklyDTO dto);

    TransferWeeklyDTO details(Long id);

    void delete(Long id);

    Workbook export(Searchable searchable, UserBean user);

    List<InstitutionsDTO> unstartdInstitutions();

    Map<String, Long> reportStats();

    void importExcel(InputStream fileStream, UserBean user);

    Workbook template(UserBean user);

    TransferWeeklyDTO getLatest(String unitCode);

    /**
     * 累计移交资产总数，以厅局为单位统计
     * 
     * @param user
     * @return
     */
    long totalTransfer(UserBean user);
}
